home *** CD-ROM | disk | FTP | other *** search
- function getAppFile(aPrefName)
- {
- try
- {
- var prefs = Components.classes["@mozilla.org/preferences-service;1"];
- prefs = prefs.getService(Components.interfaces.nsIPrefBranch);
- var appFile = prefs.getComplexValue(aPrefName, Components.interfaces.nsILocalFile);
- return appFile
- }
- catch (ex)
- {
- return null;
- }
- }
-
- function openApp(aPrefName)
- {
- var appFile = getAppFile(aPrefName);
- if (appFile)
- {
- try {
- // this should cause the operating system to simulate double clicking
- // on the location which should launch your calendar application.
- appFile.launch();
- }
- catch (ex)
- {
- }
- }
- }
-
- function haveInternalCalendar()
- {
- return ("@mozilla.org/ical-container;1" in Components.classes);
- }
-
- function openOtherCal()
- {
- if (!haveInternalCalendar())
- openApp("task.calendar.location");
- }
-
- function OtherTasksOnLoad()
- {
- var otherCalTaskBarIcon = document.getElementById("mini-other-cal");
- var otherCalMenuItem = document.getElementById("tasksMenuOtherCal");
-
- var appFile = getAppFile("task.calendar.location");
- if (appFile && !haveInternalCalendar())
- {
- if (otherCalTaskBarIcon)
- otherCalTaskBarIcon.hidden = false;
- if (otherCalMenuItem)
- otherCalMenuItem.hidden = false;
- }
- }
-
- addEventListener("load", OtherTasksOnLoad, false);
-